poverty.data <- read.table ("http://www.statpower.net/R2101/poverty.dat",header=T) poverty.data <- na.omit(poverty.data) attach(poverty.data) names(poverty.data) fit <- lm(Infant.Mortality ~ GNP) plot(GNP,Infant.Mortality) abline(fit,lty=2,col="red") my.plot <- function(Lo,Hi,XX,YY){ if(Lo > Hi){t <- Lo Lo <- Hi Hi <- t} X <- XX[which((XX >= Lo) & (XX <= Hi))] Y <- YY[which((XX >= Lo) & (XX <= Hi))] plot(X,Y,xlim=c(Lo,Hi)) if(length(X) < 2)return() fit <- lm(Y ~ X) abline(fit,lty=2,col="red") text((Hi+Lo)/2,.8*max(Y),paste("R.squared = ",round(summary(fit)$r.squared,4),sep="")) } manipulate(my.plot(A,B,GNP,Infant.Mortality), A = slider(min(GNP),max(GNP),initial=min(GNP)), B = slider(min(GNP),max(GNP),initial=max(GNP)) ) ### Block2 GNP.Hi <- GNP[which(GNP >= 3000)] Infant.Mortality.Hi <- Infant.Mortality[which(GNP >= 3000)] Country.Hi <- Country[which(GNP >= 3000)] plot(GNP.Hi,Infant.Mortality.Hi,ylim=c(0,100),xlim=c(0,35000)) rmlist <- identify(GNP.Hi,Infant.Mortality.Hi,labels=Country.Hi) ### Block3 GNP.Hi <- GNP.Hi[-rmlist] Infant.Mortality.Hi <- Infant.Mortality.Hi[-rmlist] Country.Hi <- Country.Hi[-rmlist] plot(GNP.Hi,Infant.Mortality.Hi,ylim=c(0,30)) library(segmented) out.lm <- lm(Infant.Mortality ~ GNP) plot(GNP,Infant.Mortality) o<-segmented(out.lm,seg.Z=~GNP,psi=list(GNP=c(4000)), control=seg.control(display=FALSE)) summary(o) plot(o,col="red",lty=2,add=TRUE) ### Block 4 Remove Region 4 countries r <- 41:51 GNP.r <- GNP[-r] Infant.Mortality.r <- Infant.Mortality[-r] out.lm <- lm(Infant.Mortality.r ~ GNP.r) plot(GNP.r,Infant.Mortality.r) o<-segmented(out.lm,seg.Z=~GNP.r,psi=list(GNP.r=c(4000)), control=seg.control(display=FALSE)) summary(o) plot(o,col="red",lty=2,add=TRUE) Country.r <- Country[-r] identify(GNP.r,Infant.Mortality.r,Country.r) # Block 5 Remove Libya as well r <- c(41:51,75) GNP.r <- GNP[-r] Infant.Mortality.r <- Infant.Mortality[-r] out.lm <- lm(Infant.Mortality.r ~ GNP.r) plot(GNP.r,Infant.Mortality.r) o<-segmented(out.lm,seg.Z=~GNP.r,psi=list(GNP.r=c(4000)), control=seg.control(display=FALSE)) summary(o) plot(o,col="red",lty=2,add=TRUE) Country.r <- Country[-r] identify(GNP.r,Infant.Mortality.r,Country.r) # Block 6 data(segreg) attach(segreg) out.lm <- lm(C~Temp) o<-segmented(out.lm,seg.Z=~Temp,psi=list(Temp=c(40)), control=seg.control(display=FALSE)) summary(o) plot(Temp,C) plot(o,col="red",lty=2,add=TRUE) identify(Temp,C) # Block 7 Tempr <- Temp[-15] Cr <- C[-15] out.lm <- lm(Cr~Tempr) o<-segmented(out.lm,seg.Z=~Tempr,psi=list(Tempr=c(40)), control=seg.control(display=FALSE)) summary(o) plot(Tempr,Cr) plot(o,col="red",lty=2,add=TRUE) identify(Tempr,Cr)